home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / PowerPC / Dev / PPCRelease / Examples / Library / Libs.s < prev    next >
Encoding:
Text File  |  1998-06-10  |  8.2 KB  |  541 lines

  1.  # GNU C 2.7.2.1
  2.  # -O2 -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps -fcse-skip-blocks
  3.  # -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
  4.  # -fforce-mem -ffunction-cse -finline -fcaller-saves -fpcc-struct-return
  5.  # -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fcommon
  6.  # -fgnu-linker -mpowerpc -mnew-mnemonics
  7.  
  8.     .file    "Libs.c"
  9. gcc2_compiled.:
  10. .section    .rodata
  11.     .align 2
  12. .LC0:
  13.     .string    "progdir:LibsModule.elf"
  14.     .align 2
  15. .LC1:
  16.     .string    "opened lib without version or revision\n"
  17.     .align 2
  18. .LC2:
  19.     .string    "Add"
  20.     .align 2
  21. .LC3:
  22.     .string    "Sub"
  23.     .align 2
  24. .LC4:
  25.     .string    "__LIB_Version"
  26.     .align 2
  27. .LC5:
  28.     .string    "__LIB_Revision"
  29.     .align 2
  30. .LC6:
  31.     .string    "Library Version %ld.%ld\n"
  32.     .align 2
  33. .LC7:
  34.     .string    "Example 10+30-20=%ld\n"
  35.     .align 2
  36. .LC8:
  37.     .string    "Print"
  38.     .align 2
  39. .LC9:
  40.     .string    "Example %ld+%ld-%ld=%ld\n"
  41.     .align 2
  42. .LC10:
  43.     .string    "failed to open lib without version or revision\n"
  44.     .align 2
  45. .LC11:
  46.     .string    "opened lib with version 30\n"
  47.     .align 2
  48. .LC12:
  49.     .string    "failed to open lib with version 30\n"
  50.     .align 2
  51. .LC13:
  52.     .string    "opened lib with version 50\n"
  53.     .align 2
  54. .LC14:
  55.     .string    "failed to open lib with version 50\n"
  56.     .align 2
  57. .LC15:
  58.     .string    "opened lib with version 30 revision 650\n"
  59.     .align 2
  60. .LC16:
  61.     .string    "failed to open lib with version 30 revision 650\n"
  62.     .align 2
  63. .LC17:
  64.     .string    "opened lib with version 41 revision 667\n"
  65.     .align 2
  66. .LC18:
  67.     .string    "failed to open lib with version 41 revision 667\n"
  68.     .align 2
  69. .LC19:
  70.     .string    "opened lib with version 42 revision 666\n"
  71.     .align 2
  72. .LC20:
  73.     .string    "failed to open lib with version 42 revision 666\n"
  74.     .align 2
  75. .LC21:
  76.     .string    "opened lib with version 42 revision 667\n"
  77.     .align 2
  78. .LC22:
  79.     .string    "failed to open lib with version 42 revision 667\n"
  80.     .align 2
  81. .LC23:
  82.     .string    "opened lib with exact version 41 and revision 666\n"
  83.     .align 2
  84. .LC24:
  85.     .string    "failed to open lib with exact version 41 and revision 666\n"
  86.     .align 2
  87. .LC25:
  88.     .string    "opened lib with exact version 42 and exact revision 665\n"
  89.     .align 2
  90. .LC26:
  91.     .string    "failed to open lib with exact version 42 and exact revision 665\n"
  92.     .align 2
  93. .LC27:
  94.     .string    "opened lib with exact version 42 and exact revision 666\n"
  95.     .align 2
  96. .LC28:
  97.     .string    "failed to open lib with exact version 42 and exact revision 666\n"
  98.     .section    ".text"
  99.     .align 2
  100.     .globl main
  101.     .type     main,@function
  102.     .long 0x406c
  103. main:
  104.     stwu 1,-80(1)
  105.     mflr 0
  106.     stw 26,56(1)
  107.     stw 27,60(1)
  108.     stw 28,64(1)
  109.     stw 29,68(1)
  110.     stw 30,72(1)
  111.     stw 31,76(1)
  112.     stw 0,84(1)
  113.     li 30,0
  114.     stw 30,8(1)
  115.     addis 3,0,.LC0@ha
  116.     addi 3,3,.LC0@l
  117.     addi 4,1,8
  118.     bl PPCOpenLibrary
  119.     mr. 31,3
  120.     bc 12,2,.L2
  121.     addis 3,0,.LC1@ha
  122.     addi 3,3,.LC1@l
  123.     crxor 6,6,6
  124.     bl PPCprintf
  125.     mr 3,31
  126.     addis 27,0,.LC2@ha
  127.     addi 4,27,.LC2@l
  128.     bl PPCGetLibSymbol
  129.     mr 29,3
  130.     mr 3,31
  131.     addis 26,0,.LC3@ha
  132.     addi 4,26,.LC3@l
  133.     bl PPCGetLibSymbol
  134.     mr 28,3
  135.     mr 3,31
  136.     addis 4,0,.LC4@ha
  137.     addi 4,4,.LC4@l
  138.     bl PPCGetLibSymbol
  139.     mr 30,3
  140.     mr 3,31
  141.     addis 4,0,.LC5@ha
  142.     addi 4,4,.LC5@l
  143.     bl PPCGetLibSymbol
  144.     addic 0,30,-1
  145.     subfe 9,0,30
  146.     addic 11,3,-1
  147.     subfe 0,11,3
  148.     or. 11,9,0
  149.     bc 12,2,.L3
  150.     lwz 5,0(3)
  151.     addis 3,0,.LC6@ha
  152.     lwz 4,0(30)
  153.     addi 3,3,.LC6@l
  154.     crxor 6,6,6
  155.     bl PPCprintf
  156. .L3:
  157.     cmpwi 1,29,0
  158.     bc 12,6,.L4
  159.     mtlr 29
  160.     li 3,10
  161.     li 4,30
  162.     blrl
  163.     mtlr 28
  164.     li 4,20
  165.     blrl
  166.     mr 30,3
  167.     addis 3,0,.LC7@ha
  168.     addi 3,3,.LC7@l
  169.     mr 4,30
  170.     crxor 6,6,6
  171.     bl PPCprintf
  172. .L4:
  173.     addis 30,0,AddFuncPtr@ha
  174.     lwz 0,AddFuncPtr@l(30)
  175.     cmpwi 1,0,0
  176.     bc 4,6,.L5
  177.     mr 3,31
  178.     addi 4,27,.LC2@l
  179.     bl PPCGetLibSymbol
  180.     stw 3,AddFuncPtr@l(30)
  181. .L5:
  182.     lwz 0,AddFuncPtr@l(30)
  183.     mtlr 0
  184.     li 3,100
  185.     li 4,300
  186.     blrl
  187.     addis 29,0,SubFuncPtr@ha
  188.     lwz 0,SubFuncPtr@l(29)
  189.     cmpwi 1,0,0
  190.     mr 30,3
  191.     bc 4,6,.L7
  192.     mr 3,31
  193.     addi 4,26,.LC3@l
  194.     bl PPCGetLibSymbol
  195.     stw 3,SubFuncPtr@l(29)
  196. .L7:
  197.     lwz 0,SubFuncPtr@l(29)
  198.     mtlr 0
  199.     mr 3,30
  200.     li 4,200
  201.     blrl
  202.     addis 29,0,PrintFuncPtr@ha
  203.     lwz 0,PrintFuncPtr@l(29)
  204.     cmpwi 1,0,0
  205.     mr 30,3
  206.     bc 4,6,.L9
  207.     mr 3,31
  208.     addis 4,0,.LC8@ha
  209.     addi 4,4,.LC8@l
  210.     bl PPCGetLibSymbol
  211.     stw 3,PrintFuncPtr@l(29)
  212. .L9:
  213.     addis 3,0,.LC9@ha
  214.     addi 3,3,.LC9@l
  215.     lwz 0,PrintFuncPtr@l(29)
  216.     li 4,100
  217.     mtlr 0
  218.     li 5,300
  219.     li 6,200
  220.     mr 7,30
  221.     crxor 6,6,6
  222.     blrl
  223.     mr 3,31
  224.     bl PPCCloseLibrary
  225.     b .L11
  226. .L2:
  227.     addis 3,0,.LC10@ha
  228.     addi 3,3,.LC10@l
  229.     crxor 6,6,6
  230.     bl PPCprintf
  231. .L11:
  232.     lis 0,0x8002
  233.     ori 0,0,13063
  234.     stw 0,8(1)
  235.     li 0,30
  236.     stw 0,12(1)
  237.     li 0,0
  238.     stw 0,16(1)
  239.     addis 3,0,.LC0@ha
  240.     addi 3,3,.LC0@l
  241.     addi 4,1,8
  242.     bl PPCOpenLibrary
  243.     mr. 31,3
  244.     bc 12,2,.L12
  245.     addis 3,0,.LC11@ha
  246.     addi 3,3,.LC11@l
  247.     crxor 6,6,6
  248.     bl PPCprintf
  249.     mr 3,31
  250.     bl PPCCloseLibrary
  251.     b .L13
  252. .L12:
  253.     addis 3,0,.LC12@ha
  254.     addi 3,3,.LC12@l
  255.     crxor 6,6,6
  256.     bl PPCprintf
  257. .L13:
  258.     lis 0,0x8002
  259.     ori 0,0,13063
  260.     stw 0,8(1)
  261.     li 0,50
  262.     stw 0,12(1)
  263.     li 0,0
  264.     stw 0,16(1)
  265.     addis 3,0,.LC0@ha
  266.     addi 3,3,.LC0@l
  267.     addi 4,1,8
  268.     bl PPCOpenLibrary
  269.     mr. 31,3
  270.     bc 12,2,.L14
  271.     addis 3,0,.LC13@ha
  272.     addi 3,3,.LC13@l
  273.     crxor 6,6,6
  274.     bl PPCprintf
  275.     mr 3,31
  276.     bl PPCCloseLibrary
  277.     b .L15
  278. .L14:
  279.     addis 3,0,.LC14@ha
  280.     addi 3,3,.LC14@l
  281.     crxor 6,6,6
  282.     bl PPCprintf
  283. .L15:
  284.     lis 0,0x8002
  285.     ori 0,0,13063
  286.     stw 0,8(1)
  287.     li 0,30
  288.     stw 0,12(1)
  289.     lis 0,0x8002
  290.     ori 0,0,13064
  291.     stw 0,16(1)
  292.     li 0,650
  293.     stw 0,20(1)
  294.     li 0,0
  295.     stw 0,24(1)
  296.     addis 3,0,.LC0@ha
  297.     addi 3,3,.LC0@l
  298.     addi 4,1,8
  299.     bl PPCOpenLibrary
  300.     mr. 31,3
  301.     bc 12,2,.L16
  302.     addis 3,0,.LC15@ha
  303.     addi 3,3,.LC15@l
  304.     crxor 6,6,6
  305.     bl PPCprintf
  306.     mr 3,31
  307.     bl PPCCloseLibrary
  308.     b .L17
  309. .L16:
  310.     addis 3,0,.LC16@ha
  311.     addi 3,3,.LC16@l
  312.     crxor 6,6,6
  313.     bl PPCprintf
  314. .L17:
  315.     lis 0,0x8002
  316.     ori 0,0,13063
  317.     stw 0,8(1)
  318.     li 0,41
  319.     stw 0,12(1)
  320.     lis 0,0x8002
  321.     ori 0,0,13064
  322.     stw 0,16(1)
  323.     li 0,667
  324.     stw 0,20(1)
  325.     li 0,0
  326.     stw 0,24(1)
  327.     addis 3,0,.LC0@ha
  328.     addi 3,3,.LC0@l
  329.     addi 4,1,8
  330.     bl PPCOpenLibrary
  331.     mr. 31,3
  332.     bc 12,2,.L18
  333.     addis 3,0,.LC17@ha
  334.     addi 3,3,.LC17@l
  335.     crxor 6,6,6
  336.     bl PPCprintf
  337.     mr 3,31
  338.     bl PPCCloseLibrary
  339.     b .L19
  340. .L18:
  341.     addis 3,0,.LC18@ha
  342.     addi 3,3,.LC18@l
  343.     crxor 6,6,6
  344.     bl PPCprintf
  345. .L19:
  346.     lis 0,0x8002
  347.     ori 0,0,13063
  348.     stw 0,8(1)
  349.     li 0,42
  350.     stw 0,12(1)
  351.     lis 0,0x8002
  352.     ori 0,0,13064
  353.     stw 0,16(1)
  354.     li 0,666
  355.     stw 0,20(1)
  356.     li 0,0
  357.     stw 0,24(1)
  358.     addis 3,0,.LC0@ha
  359.     addi 3,3,.LC0@l
  360.     addi 4,1,8
  361.     bl PPCOpenLibrary
  362.     mr. 31,3
  363.     bc 12,2,.L20
  364.     addis 3,0,.LC19@ha
  365.     addi 3,3,.LC19@l
  366.     crxor 6,6,6
  367.     bl PPCprintf
  368.     mr 3,31
  369.     bl PPCCloseLibrary
  370.     b .L21
  371. .L20:
  372.     addis 3,0,.LC20@ha
  373.     addi 3,3,.LC20@l
  374.     crxor 6,6,6
  375.     bl PPCprintf
  376. .L21:
  377.     lis 0,0x8002
  378.     ori 0,0,13063
  379.     stw 0,8(1)
  380.     li 0,42
  381.     stw 0,12(1)
  382.     lis 0,0x8002
  383.     ori 0,0,13064
  384.     stw 0,16(1)
  385.     li 0,667
  386.     stw 0,20(1)
  387.     li 0,0
  388.     stw 0,24(1)
  389.     addis 3,0,.LC0@ha
  390.     addi 3,3,.LC0@l
  391.     addi 4,1,8
  392.     bl PPCOpenLibrary
  393.     mr. 31,3
  394.     bc 12,2,.L22
  395.     addis 3,0,.LC21@ha
  396.     addi 3,3,.LC21@l
  397.     crxor 6,6,6
  398.     bl PPCprintf
  399.     mr 3,31
  400.     bl PPCCloseLibrary
  401.     b .L23
  402. .L22:
  403.     addis 3,0,.LC22@ha
  404.     addi 3,3,.LC22@l
  405.     crxor 6,6,6
  406.     bl PPCprintf
  407. .L23:
  408.     lis 0,0x8002
  409.     ori 0,0,13063
  410.     stw 0,8(1)
  411.     li 0,41
  412.     stw 0,12(1)
  413.     lis 0,0x8002
  414.     ori 0,0,13064
  415.     stw 0,16(1)
  416.     li 0,666
  417.     stw 0,20(1)
  418.     lis 0,0x8002
  419.     ori 0,0,13065
  420.     stw 0,24(1)
  421.     li 0,1
  422.     stw 0,28(1)
  423.     li 0,0
  424.     stw 0,32(1)
  425.     addis 3,0,.LC0@ha
  426.     addi 3,3,.LC0@l
  427.     addi 4,1,8
  428.     bl PPCOpenLibrary
  429.     mr. 31,3
  430.     bc 12,2,.L24
  431.     addis 3,0,.LC23@ha
  432.     addi 3,3,.LC23@l
  433.     crxor 6,6,6
  434.     bl PPCprintf
  435.     mr 3,31
  436.     bl PPCCloseLibrary
  437.     b .L25
  438. .L24:
  439.     addis 3,0,.LC24@ha
  440.     addi 3,3,.LC24@l
  441.     crxor 6,6,6
  442.     bl PPCprintf
  443. .L25:
  444.     lis 0,0x8002
  445.     ori 0,0,13063
  446.     stw 0,8(1)
  447.     li 0,42
  448.     stw 0,12(1)
  449.     lis 0,0x8002
  450.     ori 0,0,13064
  451.     stw 0,16(1)
  452.     li 0,665
  453.     stw 0,20(1)
  454.     lis 0,0x8002
  455.     ori 0,0,13065
  456.     stw 0,24(1)
  457.     li 9,1
  458.     stw 9,28(1)
  459.     lis 0,0x8002
  460.     ori 0,0,13066
  461.     stw 0,32(1)
  462.     stw 9,36(1)
  463.     li 0,0
  464.     stw 0,40(1)
  465.     addis 3,0,.LC0@ha
  466.     addi 3,3,.LC0@l
  467.     addi 4,1,8
  468.     bl PPCOpenLibrary
  469.     mr. 31,3
  470.     bc 12,2,.L26
  471.     addis 3,0,.LC25@ha
  472.     addi 3,3,.LC25@l
  473.     crxor 6,6,6
  474.     bl PPCprintf
  475.     mr 3,31
  476.     bl PPCCloseLibrary
  477.     b .L27
  478. .L26:
  479.     addis 3,0,.LC26@ha
  480.     addi 3,3,.LC26@l
  481.     crxor 6,6,6
  482.     bl PPCprintf
  483. .L27:
  484.     lis 0,0x8002
  485.     ori 0,0,13063
  486.     stw 0,8(1)
  487.     li 0,42
  488.     stw 0,12(1)
  489.     lis 0,0x8002
  490.     ori 0,0,13064
  491.     stw 0,16(1)
  492.     li 0,666
  493.     stw 0,20(1)
  494.     lis 0,0x8002
  495.     ori 0,0,13065
  496.     stw 0,24(1)
  497.     li 9,1
  498.     stw 9,28(1)
  499.     lis 0,0x8002
  500.     ori 0,0,13066
  501.     stw 0,32(1)
  502.     stw 9,36(1)
  503.     li 0,0
  504.     stw 0,40(1)
  505.     addis 3,0,.LC0@ha
  506.     addi 3,3,.LC0@l
  507.     addi 4,1,8
  508.     bl PPCOpenLibrary
  509.     mr. 31,3
  510.     bc 12,2,.L28
  511.     addis 3,0,.LC27@ha
  512.     addi 3,3,.LC27@l
  513.     crxor 6,6,6
  514.     bl PPCprintf
  515.     mr 3,31
  516.     bl PPCCloseLibrary
  517.     b .L29
  518. .L28:
  519.     addis 3,0,.LC28@ha
  520.     addi 3,3,.LC28@l
  521.     crxor 6,6,6
  522.     bl PPCprintf
  523. .L29:
  524.     li 3,0
  525.     lwz 0,84(1)
  526.     mtlr 0
  527.     lwz 26,56(1)
  528.     lwz 27,60(1)
  529.     lwz 28,64(1)
  530.     lwz 29,68(1)
  531.     lwz 30,72(1)
  532.     lwz 31,76(1)
  533.     addi 1,1,80
  534.     blr
  535. .Lfe1:
  536.     .size     main,.Lfe1-main
  537.     .comm    AddFuncPtr,4,4
  538.     .comm    SubFuncPtr,4,4
  539.     .comm    PrintFuncPtr,4,4
  540.     .ident    "GCC: (GNU) 2.7.2.1"
  541.